package com.tarzan.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tarzan.api.model.request.role.SysRoleIdReq;
import com.tarzan.api.model.request.role.UserBindingRoleReq;
import com.tarzan.api.model.request.user.RoleBindUserReq;
import com.tarzan.api.model.request.user.SysUserIdReq;
import com.tarzan.api.model.response.role.SysRoleVo;
import com.tarzan.api.model.response.user.UserRoleResp;
import com.tarzan.system.entity.SysUserRole;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author liujinshan
 * @since 2020-05-19
 */
public interface ISysUserRoleService extends IService<SysUserRole> {

    /**
     * 根据角色id查询角色id对应的用户
     * @param roleIdReq
     * @return
     */
    IPage<UserRoleResp> getPageUserRoleInfoByRoleId(SysRoleIdReq roleIdReq);

    /**
     * 插入角色绑定用户信息
     * @param userBindingRoleReq
     */
    void insertUserBindingRole(UserBindingRoleReq userBindingRoleReq);

    /**
     * 根据用户ID查询角色信息
     * @param sysUserIdReq
     * @return
     */
    List<SysRoleVo> findRoleInfoByUserId(SysUserIdReq sysUserIdReq);

    /**
     * 用户绑定角色信息插入
     * @param req
     */
    void roleBindUser(RoleBindUserReq req);
}
